package com.zjsru.plan2024.oneday;

import java.util.Arrays;

/**
 * 976. 三角形的最大周长
 *
 * @Author: cookLee
 * @Date: 2024-12-04
 */
public class LargestPerimeter {

    /**
     * 主
     * \
     * 输入：nums = [2,1,2]
     * 输出：5
     * 解释：你可以用三个边长组成一个三角形:1 2 2。
     * \
     * 输入：nums = [1,2,1,10]
     * 输出：0
     * 解释：
     * 你不能用边长 1,1,2 来组成三角形。
     * 不能用边长 1,1,10 来构成三角形。
     * 不能用边长 1、2 和 10 来构成三角形。
     * 因为我们不能用任何三条边长来构成一个非零面积的三角形，所以我们返回 0。
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        LargestPerimeter largestPerimeter = new LargestPerimeter();
        int[] nums = new int[]{1, 2, 1, 10};
        System.out.println(largestPerimeter.largestPerimeter(nums));
    }

    /**
     * 贪心
     *
     * @param nums nums
     * @return int
     */
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        int len = nums.length - 1;
        for (int i = len; i > 1; i--) {
            if (nums[i - 2] + nums[i - 1] > nums[i]) {
                return nums[i - 2] + nums[i - 1] + nums[i];
            }
        }
        return 0;
    }
}
